Optical communication in the Infrared region of the spectrum has been rapidly gaining ground as an important technique for communicating between data processing devices such as personal computers, printers, and other devices, for instance, in local area networks (LANs). Typically infrared optical transceivers connected to each processing device are used to send and receive data between the data processing devices. Because of the high speed that is desirable for communication between data processing devices, a 4 Mbps (Megabits per second) infrared communications standard using pulse position modulation (PPM) has been proposed by the IRDA Association. This standard, which is described in the Infrared Data Association Serial Infrared Physical Layer Link Specification which is available from the Infrared Data Association, requires very low noise and tight positioning of the pulses within transmissions. In communication between devices that are different distances apart, the portion of the optical transceivers used for receiving the infrared transmissions must be able to effectively handle different levels of signal strength, noise levels, and variation in pulse length or positioning and produce reliably consistent signal outputs. In the typical hardware configuration used to handle infrared transmissions at the present time, the output of the receiving portion of a transceiver is fed to a signal demodulator to decode the data contained within received transmissions. This data is intended to be fed to the data processing device to which it is to be connected.
It has been found that the signal pulses produced from transceiver outputs varied significantly for 4 Mbps PPM data streams. For lower speed communication, eg. under the 1.1 Mbps IRDA standard adopted previously, the effect of this variation has not been as significant due to the greater amount of forgiveness tolerated in the pulse positioning of IR pulses under that earlier standard. For these lower speed transmissions the critical factor was the minimum pulse width required for sufficient noise rejection. The 4 Mbps PPM data streams, on the other hand have very tight positioning requirements and very low noise allowances.
For the IRDA 4 Mbps PPM standard the pulses in a data stream are specified required to be either 125 ns. Iong or 250 ns. long. The data stream is composed of a number of transmission packets each of which consists of a preamble containing 125 ns pulses and a data portion of 125 or 250 ns pulses. It is important that a device used to process these pulses can distinguish between these two different pulse sizes. Unfortunately we have found that a 125 ns. optical pulse processed by a receiver or receiver portion of a transceiver may produce an electrical output pulse ranging from 20 ns. to 200 ns. in duration and that a 250 ns. optical pulse can produce an electrical pulse from 140 to 320 ns. In a circuit arrangement that we have employed the output of the receiver is decoded by a demodulator to determine the data received. It can be appreciated that there can be difficulties in data recognition if one or more single pulses are received and processed to yield a long pulse or other unanticipated output to be processed by the demodulator. The demodulator may yield an erroneous result.
We have also found that the pulse widths and noise produced by transceiver outputs have varied in response to the following factors:
distance from the transmitter of the optical pulses; ambient noise, variations in the release batches of a transceiver by a manufacturer, or different transceivers by different manufacturers. PA1 detecting when the input pulses of the input signal fall below the duration required and lengthening the pulses by a sufficient amount to bring them within the predetermined duration; PA1 detecting when the input pulses of the input signal exceed the duration required and reducing the duration of the pulses by a sufficient amount to bring them within the predetermined duration. PA1 detecting and identifying a pulse within the preamble portion of the packet, PA1 determining whether the duration of the detected preamble pulse lies within the predetermined acceptance pulse duration, if the preamble pulse is shorter than the acceptance duration, determining an add amount to add that is sufficient to bring the pulse duration within the acceptance duration, and adding the add amount to all subsequent data pulses in the packet, and, if the preamble pulse exceeds the predetermined acceptance duration, determining the removal amount to remove that is sufficient to bring the pulse duration within the predetermined acceptance duration, and removing the removal amount from all subsequent data pulses in the packet, and, subsequently outputting the modified pulses to the data processing apparatus. PA1 an input to accept a series of pulses derived from the reception of a PPM encoded data transmission signal in which the transmission signal includes a data transmission packet; PA1 a pulse width comparator to determine whether the pulses of the signal fall within a predetermined acceptance range of duration; PA1 a pulse shaping adjuster to modify the duration of the pulses to increase or decrease the duration of the pulses to bring them within the predetermined acceptance range; PA1 an output to output the modified pulses for subsequent processing. PA1 a pulse detector to detect the a pulse contained within the preamble of the packet of pulses; PA1 a pulse width comparator to determine whether the detected pulse in the preamble is within the predetermined acceptance range of duration; PA1 a pulse adjuster control to select an amount to add to or subtract from the pulse duration to bring it within the predetermined acceptance range; PA1 a pulse modifier to apply the amount by addition or subtraction as determined previously to subsequent data pulses received within the packet; PA1 an output to output the modified pulses for subsequent processing.
It has been found that some transceivers produce output pulses that grow longer when the distance between communicating transceivers is increased, while other transceivers may produce shorter duration pulses, or pulses that increase in duration and then decrease in duration with increasing distance.
The task of designing signal processing circuitry, such as demodulators, that are to be used with Infrared transceivers under the circumstances described above has proven to be quite difficult.
For instance, pulse width acceptance can be set in a demodulation circuit of an IRDA compliant controller, but with the current variation among IRDA transceivers and with new transceivers being developed this could involve designing a specific demodulator circuit for each type or version of a transceiver. This would be very expensive and time consuming. We have also found that when a new IRDA transceiver is actually manufactured and tested, unexpected results are seen in the electrical pulse widths generated.
Accordingly a need therefore exists for compensating for the variations that may occur in the output signal pulses of a transceiver when it is sought to demodulate the signal in a reliable manner, while at the same time not requiring demodulation circuit redesign.